#ifndef FTPCOMMANDOBSERVER_H
#define FTPCOMMANDOBSERVER_H

#include <string>

class FtpCommandObserver
{
public:
	FtpCommandObserver(){};
	~FtpCommandObserver(){};

	virtual void OnUser(const std::string& user) = 0;
	virtual void OnPass(const std::string& pass) = 0;
	virtual void OnList(const std::string& list) = 0;
	virtual void OnSyst() = 0;
	virtual void OnPort(const std::string& ip, unsigned short port) = 0;
	virtual void OnCwd(const std::string& cwd) = 0;
	virtual void OnPwd() = 0;
	virtual void OnRmd(const std::string& path) = 0;
	virtual void OnMkd(const std::string& path) = 0;
	virtual void OnDele(const std::string& path) = 0;
	virtual void OnRetr(const std::string& path) = 0;
	virtual void OnStor(const std::string& path) = 0;
	virtual void OnCdup() = 0;
	virtual void OnNoop() = 0;
	virtual void OnQuit() = 0;
	virtual void OnType(const std::string& type) = 0;

	virtual void OnSyntaxError() = 0;
	virtual void OnUnknownCommand() = 0;

private:

};

#endif //FTPCOMMANDOBSERVER_H
